def check_password_strength(password):
    score = 2
    improvements = []

    # 1. 长度超过8位
    if len(password) > 8:
        score += 1
    else:
        improvements.append("密码长度应该超过8位")

    # 2. 包含大、小写字母、数字、其他符号中的至少三种
    character_types = [
        any(c.islower() for c in password),  # 小写字母
        any(c.isupper() for c in password),  # 大写字母
        any(c.isdigit() for c in password),  # 数字
        any(not c.isalnum() for c in password)  # 其他符号
    ]
    if sum(character_types) >= 3:
        score += 1
    else:
        improvements.append("密码必须包含至少三种字符类型：大写字母、小写字母、数字和特殊符号")

    # 3. 不能有长度超过或等于3的字串重复
    for i in range(len(password) - 2):
        if password[i:i+3] in password[i+1:]:
            score -= 1
            improvements.append("密码不能有长度超过或等于3的字串重复")

    return score, improvements

# 测试代码
password = input("请输入密码：")
score, improvements = check_password_strength(password)
print("密码评分：", score)
print("改进点：", improvements)
